The People, Dropdown, Tags and Connect Board columns accept multiple values in monday.com. Because of this, they require a set of functions to interact with them.
When you read the value of one of these columns, you will get the identifier of the item formatted like this Number:Name.
1:[C]={Dropdown}-> 3:Free
2:[B]={Tags}-> 17810765:Construction,17811165:Marketing
3:[C]={Connect Board}-> 6846226461:Item 1,6846223456:Item 2
In the case of a People item, you will also get its type, ie. Person or Team, like this Type:Number:Name.
4:[A]={People}-> Person:38798354:Bob Smith
In the Test pane of the Formula Editor, the Advanced Formula Booster displays the elements of the identifier as shown below, so that they are more readable. If if the Test pane seems to show the elements of the identifier in a different order, remember that if you need to use these values in a calculation, the name comes last as shown in the piece of code above, ie. id:name or type:id:name for People.
Use the PEOPLENAME, LABELNAME, TAGNAME, CONNECTEDITEMNAME functions to get the name(s) of the element, instead of the identifier. If there are more than one item in the column, the names are separated by commas.
1:[A]=PEOPLENAME({People})-> Bob Smith
2:[C]=LABELNAME({Dropdown})-> Free
3:[B]=TAGNAME({Tags})-> Construction|Marketing
4:[B]=CONNECTEDITEMNAME({Connect Board})-> Item 1|Item 2
To avoid having to know the identifier of a People, Dropdown item or Tag to interact with it, we created special functions that only need the name of the element.
In the examples below, note how we use a pipe (vertical bar) to separate people, labels or dropdown when specifying multiple items.
Should you want to check if an item is among the values of your column, use the CONTAINSPEOPLE, CONTAINSLABEL, CONTAINSTAG, CONTAINSCONNECTEDITEM functions.
These functions require 2 parameters: the value(s) that you are checking for and the column you are searching. It returns true only if all values are found, false if one or more values are missing.
1:[A]=CONTAINSPEOPLE("Bob Smith",{People})-> True or False
2:[A]=CONTAINSLABEL("Marketing|HR",{Dropdown})-> True only if both
3:[A]=CONTAINSTAG("Free",{Tags})-> True if it contains the Free tag
4:[A]=CONTAINSCONNECTEDITEM({Board2Items.Item#2},{Connect Board})-> True if it contains the 2nd item of Board 2
Should you want to perform a strict comparison, use the ISPEOPLE, ISLABEL, ISTAG functions. By "strict" we mean that you want to check if the values in the column exactly match the item(s) specified.
These functions require 2 parameters: the value(s) that you are checking for and the column you are searching.
1:[A]=ISPEOPLE("Bob Smith",{People})-> True or False
2:[A]=ISPEOPLE("Marketing|HR",{Dropdown})-> True if contains both and only both
3:[A]=ISPEOPLE("Free",{Tags})-> if it contains only Free tag
4:[A]=ISCONNECTEDITEM({Board2Items.Item#2},{Connect Board})-> True if it contains only the 2nd item of Board 2
The order of the items in the column does not affect the result. Whether the column displays Bob Smith then Marketing or Marketing then Bob Smith does not matter.
The GETPEOPLE, GETLABELS, GETTAGS functions return item(s) based on their name. The GETPEOPLE AND GETTAGS only require one parameter, the name. Since a label is specific to a Dropdown column, the GETLABELS requires the column as an extra parameter.
There is no equivalent function for the Connect Board column. You can't get a connected item from a string of characters. You have to use the Item virtual column.
1:[A]=GETPEOPLE("Bob Smith")-> Person:38798354:Bob Smith
2:[B]=GETLABELS("Option 1|Option 2",{Dropdown})-> 1:Construction|2:Marketing
3:[C]=GETTAGS("Free|Perpetual")-> 17810765:Free|17811165:Perpetual
These functions are used to set the content of a multi-item column.
We saw how we can use the ADD and REMOVE functions to add or remove an item. But what if we want to completely change the items in the column?
1:{People}=GETPEOPLE("Bob Smith")
2:{Dropdown}=GETLABELS("Marketing|Construction")
3:{Tags}=GETTAGS("Free|Perpetual")
Remember that the Advanced Formula Booster stores the number identifying the item, not its name. So if you save the above formula, go to monday.com and change the name of user "Bob Smith" to "Bob", then reload the formula in the Formula Editor, it will now display GETPEOPLE("Bob").
The ADDPEOPLE, ADDLABEL, ADDTAG, ADDCONNECTEDITEM functions allow you to add an element to your column. They take 2 parameters the name(s) of the item(s) you want to add and the column.
1:{People}=ADDPEOPLE("Bob Smith|Marketing",{People})
2:{Dropdown}=ADDLABEL("Option 1",{Dropdown})
3:{Tags}=ADDTAG("Construction|Marketing",{Tags})
4:{Connect Board}=ADDCONNECTEDITEM({Board2Items#2},{Connect Board})
The REMOVEPEOPLE, REMOVELABEL, REMOVETAG, REMOVECONNECTEDITEM functions allow you to remove an item from your column. They take 2 parameters the name(s) of the item(s) you want to remove and the column.
1:{People}=REMOVEPEOPLE("Bob Smith|Marketing",{People})
2:{Dropdown}=REMOVELABEL("Option 1",{Dropdown})
3:{Tags}=REMOVETAG("Construction|Marketing",{Tags})
4:{Connect Board}=REMOVECONNECTEDITEM({Board2Items#2},{Connect Board})